package com.hoshiicloud.payment.vo;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import java.io.Serializable;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.NoArgsConstructor;
import lombok.experimental.Accessors;

/**
 * <p>
 * 支付方式配置信息
 * </p>
 *
 * @author Mr.wu
 * @since 2019-05-13
 */
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
@Accessors(chain = true)
@EqualsAndHashCode(callSuper = false)
@TableName("payment")
@ApiModel(value = "PaymentDetailVO对象", description = "支付方式配置信息")
public class PaymentDetailVO implements Serializable {

    private static final long serialVersionUID = 1L;

    @ApiModelProperty(value = "已安装的支付方式自增id")
    @TableId(value = "pay_id", type = IdType.AUTO)
    private Integer payId;

    @ApiModelProperty(value = "支付方式的英文缩写，其实就是该支付方式处理插件的不带后缀的文件名部分")
    @TableField("pay_code")
    private String payCode;

    @ApiModelProperty(value = "支付方式名称")
    @TableField("pay_name")
    private String payName;

    @ApiModelProperty(value = "支付费用")
    @TableField("pay_fee")
    private String payFee;

    @ApiModelProperty(value = "支付方式描述")
    @TableField("pay_desc")
    private String payDesc;

    @ApiModelProperty(value = "支付方式在页面的显示顺序")
    @TableField("pay_order")
    private Integer payOrder;

    @ApiModelProperty(value = "支付方式的配置信息，包括商户号和密钥什么的")
    @TableField("pay_config")
    private String payConfig;

    @ApiModelProperty(value = "是否可用，0，否；1，是")
    @TableField("enabled")
    private Boolean enabled;

    @ApiModelProperty(value = "是否货到付款，0，否；1，是")
    @TableField("is_cod")
    private Boolean isCod;

    @ApiModelProperty(value = "是否在线支付，0，否；1，是")
    @TableField("is_online")
    private Boolean isOnline;

    @ApiModelProperty(value = "公司ID")
    @TableField("companyid")
    private Long companyId;

    @ApiModelProperty(value = "平台ID")
    @TableField("platformid")
    private Long platformId;

    @ApiModelProperty(value = "店铺ID")
    @TableField("storeid")
    private Long storeId;
}
